import React from "react";
import { ExerciseAttributeValueEnum } from "@prisma/client";

import { useI18n } from "locales/client";
import { cn } from "@/shared/lib/utils";
import { TricepsGroup } from "@/features/workout-builder/ui/muscles/triceps-group";
import { TrapsGroup } from "@/features/workout-builder/ui/muscles/traps-group";
import { ShouldersGroup } from "@/features/workout-builder/ui/muscles/shoulders-group";
import { QuadricepsGroup } from "@/features/workout-builder/ui/muscles/quadriceps-group";
import { ObliquesGroup } from "@/features/workout-builder/ui/muscles/obliques-group";
import { HamstringsGroup } from "@/features/workout-builder/ui/muscles/hamstrings-group";
import { GlutesGroup } from "@/features/workout-builder/ui/muscles/glutes-group";
import { ForearmsGroup } from "@/features/workout-builder/ui/muscles/forearms-group";
import { ChestGroup } from "@/features/workout-builder/ui/muscles/chest-group";
import { CalvesGroup } from "@/features/workout-builder/ui/muscles/calves-group";
import { BicepsGroup } from "@/features/workout-builder/ui/muscles/biceps-group";
import { BackGroup } from "@/features/workout-builder/ui/muscles/back-group";
import { AbdominalsGroup } from "@/features/workout-builder/ui/muscles/abdominals-group";
import { env } from "@/env";
import { HorizontalBottomBanner } from "@/components/ads";

interface MuscleSelectionProps {
  onToggleMuscle: (muscle: ExerciseAttributeValueEnum) => void;
  selectedMuscles: ExerciseAttributeValueEnum[];
  selectedEquipment: ExerciseAttributeValueEnum[];
}

const MuscleIllustration = ({
  selectedMuscles,
  onToggleMuscle,
}: {
  selectedMuscles: ExerciseAttributeValueEnum[];
  onToggleMuscle: (muscle: ExerciseAttributeValueEnum) => void;
  isLoading?: boolean;
}) => {
  const getMuscleClasses = (muscle: ExerciseAttributeValueEnum) => {
    const isSelected = selectedMuscles.includes(muscle);
    return cn(
      "cursor-pointer transition-all duration-100 ease-out",
      isSelected ? "fill-blue-500 " : "fill-slate-400 group-hover:fill-blue-400",
    );
  };

  return (
    <svg className="h-auto w-full" id="muscle-illustration" viewBox="0 0 535 462" xmlns="http://www.w3.org/2000/svg">
      <path
        d="M 440.43,458.85
           C 437.78,458.84 435.54,458.42 433.79,457.57
             433.79,457.57 432.77,457.08 432.77,457.08
             432.77,457.08 432.29,456.06 432.29,456.06
             429.18,449.45 429.63,444.89 430.30,439.24
             429.97,436.78 429.59,433.93 429.27,431.10
             429.27,431.10 429.25,430.98 429.25,430.98
             428.99,428.69 428.70,426.16 428.97,423.54
             428.97,423.54 430.15,416.10 430.15,416.10
             430.20,415.87 430.23,415.67 430.27,415.49
             430.34,415.04 430.43,414.58 430.58,414.08
             430.76,413.50 430.96,412.92 431.15,412.34
             431.38,411.68 431.61,411.02 431.80,410.35
             432.46,408.08 432.58,404.08 432.05,401.63
             431.46,398.91 431.03,396.56 430.61,394.29
             430.13,391.71 429.68,389.26 429.02,386.31
             429.02,386.31 427.59,379.94 427.59,379.94
             427.24,379.48 426.97,379.08 426.82,378.82
             424.91,375.48 423.82,372.30 423.47,369.10
             422.88,363.54 423.44,358.04 425.21,352.31
             425.63,350.94 426.02,349.76 426.38,348.67
             427.27,345.99 427.90,344.08 428.23,341.57
             428.23,341.57 424.73,337.14 424.73,337.14
             421.29,329.16 420.04,324.01 418.59,318.04
             418.18,316.36 417.75,314.60 417.25,312.68
             415.13,304.55 413.57,295.76 413.26,290.28
             412.99,285.26 412.82,279.27 412.65,273.48
             412.49,267.48 412.31,261.26 412.02,256.13
             411.96,255.21 412.21,251.29 412.83,242.29
             413.03,239.31 413.26,235.94 413.27,235.46
             413.27,235.46 413.26,232.25 413.26,232.25
             413.24,231.90 413.24,231.59 413.27,231.28
             413.37,230.35 413.75,229.52 414.31,228.86
             413.21,227.71 412.25,226.53 411.42,225.28
             410.59,226.53 409.63,227.71 408.53,228.86
             409.09,229.51 409.47,230.34 409.56,231.27
             409.60,231.65 409.59,231.99 409.58,232.24
             409.58,232.24 409.57,235.54 409.57,235.54
             409.58,235.94 409.81,239.31 410.01,242.29
             410.63,251.30 410.88,255.21 410.82,256.13
             410.53,261.26 410.35,267.48 410.19,273.49
             410.02,279.28 409.85,285.26 409.58,290.28
             409.27,295.76 407.71,304.55 405.59,312.68
             405.09,314.60 404.66,316.36 404.25,318.04
             402.80,324.01 401.55,329.16 398.11,337.14
             398.11,337.14 394.61,341.57 394.61,341.57
             394.94,344.08 395.57,345.99 396.46,348.67
             396.82,349.76 397.21,350.94 397.63,352.31
             399.40,358.05 399.96,363.54 399.37,369.10
             399.02,372.30 397.93,375.47 396.02,378.82
             395.87,379.08 395.60,379.48 395.25,379.94
             395.25,379.94 393.82,386.31 393.82,386.31
             393.16,389.26 392.71,391.71 392.23,394.29
             391.81,396.56 391.38,398.91 390.79,401.63
             390.26,404.08 390.38,408.08 391.04,410.35
             391.24,411.03 391.46,411.69 391.69,412.36
             391.89,412.93 392.08,413.51 392.26,414.08
             392.41,414.58 392.50,415.04 392.57,415.49
             392.60,415.67 392.64,415.87 392.69,416.10
             392.69,416.10 393.87,423.54 393.87,423.54
             394.14,426.16 393.85,428.69 393.58,430.98
             393.58,430.98 393.57,431.10 393.57,431.10
             393.25,433.93 392.87,436.78 392.54,439.24
             393.21,444.89 393.66,449.45 390.55,456.06
             390.55,456.06 390.07,457.08 390.07,457.08
             390.07,457.08 389.05,457.57 389.05,457.57
             387.29,458.42 385.06,458.85 382.41,458.85
             378.89,458.85 372.81,457.91 370.46,455.35
             369.83,454.66 369.30,453.95 368.80,453.27
             368.33,452.63 367.89,452.04 367.45,451.58
             366.24,450.33 364.39,449.83 362.25,449.25
             359.42,448.48 356.20,447.61 353.69,444.74
             351.08,441.77 350.35,438.06 351.70,434.56
             353.12,430.87 356.77,427.74 360.79,426.76
             361.75,426.53 363.03,426.42 364.82,426.42
             367.03,426.42 369.59,426.60 371.42,426.74
             371.42,426.74 371.35,425.99 371.35,425.99
             371.35,425.92 371.34,425.84 371.32,425.76
             371.27,425.37 371.19,424.78 371.27,424.10
             371.33,423.55 371.39,423.01 371.45,422.47
             371.64,420.71 371.84,418.89 372.19,417.07
             372.82,413.78 372.65,410.28 371.66,406.05
             369.54,396.98 367.35,387.61 364.43,378.60
             364.28,378.13 364.12,377.66 363.96,377.18
             362.95,374.19 361.81,370.81 361.83,367.13
             361.83,367.13 361.84,365.60 361.84,365.60
             361.46,364.54 361.29,363.55 361.22,362.73
             361.05,360.72 360.98,355.97 361.25,353.51
             361.58,350.53 362.49,347.56 363.37,344.68
             363.66,343.75 363.95,342.81 364.22,341.85
             365.91,335.96 367.31,333.12 369.24,329.19
             369.38,328.90 369.53,328.60 369.68,328.30
             369.68,328.30 369.55,327.91 369.55,327.91
             369.46,327.66 369.36,327.42 369.27,327.17
             368.97,326.43 368.60,325.50 368.47,324.44
             368.47,324.44 368.40,323.94 368.40,323.94
             368.11,321.74 367.81,319.46 367.88,317.11
             367.94,314.90 368.09,312.70 368.24,310.57
             368.41,308.11 368.57,305.79 368.60,303.45
             368.60,303.45 368.60,303.12 368.60,303.12
             368.60,303.12 366.65,292.27 366.65,292.27
             366.65,292.27 366.52,291.72 366.52,291.72
             366.36,290.97 366.19,290.19 366.07,289.37
             365.69,286.78 365.29,284.19 364.89,281.60
             363.91,275.26 362.90,268.71 362.23,262.20
             361.47,254.97 361.31,247.65 361.15,240.57
             361.15,240.57 361.12,239.63 361.12,239.63
             361.03,235.34 361.16,230.64 361.54,224.82
             361.82,220.62 362.42,216.44 362.98,212.89
             363.33,210.59 364.59,208.94 366.42,208.24
             366.35,207.37 365.99,201.68 365.99,201.68
             365.99,201.68 365.94,201.52 365.94,201.52
             365.76,201.00 365.42,200.05 365.65,198.91
             365.65,198.91 365.90,197.61 365.90,197.61
             366.52,194.48 367.17,191.24 367.95,188.06
             368.59,185.51 369.36,182.87 370.67,180.40
             369.83,179.41 369.40,178.03 369.65,176.77
             370.45,172.93 371.22,169.45 372.02,166.13
             372.37,164.66 373.41,163.58 374.74,163.22
             373.81,161.21 373.08,159.25 372.44,157.42
             370.79,152.66 370.06,147.80 369.34,143.11
             369.17,141.97 368.89,137.01 368.89,137.01
             368.89,137.01 366.80,141.65 366.18,142.79
             364.50,145.87 362.77,149.06 360.86,152.17
             360.20,153.25 359.32,154.18 358.41,155.02
             358.66,155.60 358.79,156.22 358.77,156.80
             358.76,157.15 358.76,157.51 358.76,157.87
             358.77,159.20 358.78,160.70 358.28,162.23
             357.71,163.99 356.91,165.56 356.12,167.08
             355.87,167.57 355.62,168.06 355.38,168.55
             355.11,169.09 354.81,169.63 354.51,170.16
             354.09,170.90 353.70,171.59 353.50,172.20
             351.03,179.67 347.88,187.22 344.13,194.63
             341.73,199.36 339.22,204.13 336.79,208.73
             335.29,211.59 333.79,214.44 332.30,217.30
             331.59,218.67 330.61,219.30 329.78,219.59
             329.78,221.61 329.74,223.64 329.69,225.61
             329.69,225.61 329.65,227.42 329.65,227.42
             330.01,230.24 328.97,232.77 328.13,234.81
             327.99,235.16 327.85,235.50 327.71,235.84
             326.87,238.00 325.92,240.26 324.35,242.28
             324.28,242.47 324.20,242.66 324.09,242.86
             324.09,242.86 323.32,244.31 323.32,244.31
             322.53,245.81 321.71,247.37 320.83,248.88
             319.78,250.69 318.78,252.19 317.75,253.49
             316.77,254.74 315.13,255.19 313.93,255.19
             313.65,255.19 313.37,255.16 313.10,255.11
             311.82,257.69 309.89,259.06 307.37,259.20
             307.27,259.20 307.16,259.21 307.07,259.21
             305.84,259.21 304.95,258.81 304.34,258.36
             304.27,258.40 304.21,258.44 304.15,258.47
             303.50,258.86 302.70,259.07 301.85,259.07
             301.23,259.07 299.67,258.95 298.52,257.84
             297.34,256.69 297.07,255.13 296.91,254.20
             296.79,253.51 296.87,252.90 297.02,252.40
             296.12,251.80 295.24,250.23 295.19,250.15
             295.19,250.15 294.82,247.24 294.82,247.24
             294.97,246.83 295.10,246.45 295.23,246.07
             295.52,245.19 295.83,244.27 296.29,243.36
             297.38,241.20 298.53,239.05 299.64,236.96
             299.64,236.96 300.19,235.94 300.19,235.94
             299.24,236.16 296.85,236.66 296.85,236.66
             296.29,236.78 295.74,236.84 295.20,236.84
             292.96,236.84 290.96,235.81 289.56,233.96
             289.19,233.47 288.07,232.00 288.56,230.13
             289.04,228.27 290.68,227.54 291.30,227.27
             294.10,226.03 296.75,224.86 298.35,222.67
             298.92,221.88 299.53,221.15 300.11,220.45
             300.11,220.45 300.65,219.79 300.65,219.79
             302.63,217.39 305.43,214.40 309.66,212.65
             310.13,212.45 310.57,212.33 310.95,212.23
             311.01,211.85 311.12,211.46 311.27,211.04
             311.86,209.45 312.45,207.85 313.04,206.25
             314.68,201.80 316.39,197.20 317.97,192.66
             318.59,190.88 319.08,189.06 319.61,187.14
             319.91,186.03 321.31,182.33 321.61,181.97
             321.61,181.97 323.95,178.73 323.95,178.73
             323.95,178.73 324.73,171.29 324.73,171.29
             324.89,161.95 329.32,154.48 334.67,146.37
             334.67,146.37 336.38,144.91 336.38,144.91
             336.46,140.43 337.28,136.47 338.88,132.80
             339.06,132.39 339.27,132.01 339.51,131.68
             339.30,131.26 339.12,130.82 338.98,130.34
             338.74,129.48 338.51,128.44 338.69,127.29
             338.77,126.78 338.85,126.27 338.92,125.77
             339.20,123.89 339.48,121.94 340.11,119.98
             340.84,117.67 341.82,115.48 342.76,113.35
             343.01,112.78 343.27,112.20 343.52,111.63
             343.95,110.63 344.52,109.96 345.12,109.50
             345.10,109.21 345.10,108.90 345.14,108.57
             345.22,107.88 345.29,107.19 345.36,106.49
             345.51,104.90 345.67,103.26 345.97,101.60
             347.09,95.33 349.20,90.71 352.60,87.09
             356.99,82.42 362.56,79.00 369.63,76.62
             370.42,76.35 372.80,75.76 372.80,75.76
             372.80,75.76 375.20,75.16 375.20,75.16
             376.28,74.89 377.36,74.60 378.43,74.32
             379.52,74.02 380.63,73.73 381.75,73.45
             381.75,73.45 386.64,70.83 386.64,70.83
             386.87,70.70 387.06,70.61 387.24,70.50
             387.24,70.50 388.87,69.53 388.87,69.53
             390.27,68.70 391.72,67.84 393.09,66.96
             393.88,66.46 394.82,65.55 395.08,63.05
             395.23,61.62 395.35,60.16 395.46,58.71
             394.14,57.92 392.38,56.48 392.07,53.83
             391.95,52.84 391.86,51.86 391.76,50.87
             391.66,49.76 391.55,48.64 391.41,47.53
             391.41,47.53 391.29,46.62 391.29,46.62
             390.27,46.40 389.18,45.89 388.47,44.92
             387.72,43.91 387.21,42.83 386.76,41.88
             386.76,41.88 386.66,41.66 386.66,41.66
             385.89,40.01 385.15,38.36 384.41,36.70
             384.41,36.70 384.30,36.43 384.30,36.43
             383.56,34.78 383.81,32.70 384.96,30.88
             385.90,29.39 387.22,28.42 388.66,28.13
             388.62,27.18 388.62,26.26 388.66,25.36
             388.96,17.39 391.51,11.24 396.44,6.58
             399.81,3.39 404.04,1.45 409.00,0.83
             409.92,0.72 410.86,0.66 411.79,0.66
             422.46,0.66 431.53,8.09 433.84,18.74
             434.48,21.68 434.75,24.76 434.65,28.09
             434.65,28.09 434.83,28.16 434.83,28.16
             437.41,28.85 439.72,32.08 439.66,34.39
             439.66,34.39 439.65,34.86 439.65,34.86
             439.65,34.86 439.50,35.30 439.50,35.30
             439.42,35.60 439.30,35.99 439.10,36.41
             437.99,38.79 436.87,41.16 435.74,43.52
             435.50,44.07 435.08,45.05 433.99,45.69
             433.39,46.03 432.81,46.24 432.35,46.40
             432.27,46.43 432.19,46.46 432.11,46.49
             432.11,46.49 431.86,48.26 431.86,48.26
             431.75,49.06 431.67,49.86 431.58,50.66
             431.45,51.89 431.31,53.16 431.08,54.44
             430.64,56.91 428.82,58.21 427.53,58.96
             427.61,60.09 427.69,61.22 427.75,62.35
             427.84,64.50 428.62,65.92 430.26,66.94
             431.65,67.81 433.07,68.64 434.49,69.48
             435.14,69.86 435.79,70.24 436.45,70.63
             436.45,70.63 440.83,73.29 440.83,73.29
             442.35,73.68 443.85,74.12 445.31,74.55
             446.16,74.80 447.00,75.04 447.85,75.28
             447.85,75.28 450.38,76.00 450.38,76.00
             450.38,76.00 452.00,76.37 452.73,76.62
             459.80,79.00 465.37,82.42 469.76,87.09
             473.16,90.71 475.27,95.33 476.39,101.60
             476.69,103.26 476.85,104.89 477.00,106.48
             477.07,107.18 477.26,109.21 477.24,109.50
             477.84,109.96 478.41,110.63 478.84,111.63
             479.09,112.21 479.35,112.78 479.61,113.36
             480.55,115.48 481.52,117.68 482.25,119.98
             482.88,121.94 483.16,123.88 483.44,125.76
             483.51,126.27 483.59,126.78 483.67,127.29
             483.85,128.44 483.62,129.48 483.38,130.33
             483.24,130.82 483.06,131.26 482.85,131.68
             483.09,132.02 483.30,132.39 483.48,132.80
             485.08,136.47 485.90,140.43 485.98,144.91
             485.98,144.91 487.69,146.37 487.69,146.37
             493.04,154.48 497.47,161.95 497.63,171.29
             497.63,171.29 497.66,173.18 497.66,173.18
             497.66,173.18 498.41,178.75 498.41,178.75
             498.41,178.75 502.45,186.03 502.75,187.15
             503.28,189.07 503.77,190.88 504.39,192.66
             505.98,197.20 507.68,201.81 509.33,206.27
             509.92,207.86 510.50,209.45 511.09,211.04
             511.24,211.46 511.35,211.85 511.41,212.23
             511.79,212.33 512.23,212.45 512.70,212.65
             516.93,214.40 519.74,217.39 521.71,219.79
             521.71,219.79 522.25,220.45 522.25,220.45
             522.84,221.15 523.44,221.88 524.01,222.67
             525.61,224.86 528.26,226.03 531.06,227.27
             531.68,227.54 533.32,228.27 533.80,230.13
             534.29,232.00 533.17,233.47 532.80,233.96
             531.40,235.81 529.40,236.84 527.16,236.84
             527.16,236.84 527.16,236.84 527.16,236.84
             526.62,236.84 526.07,236.78 525.51,236.66
             525.51,236.66 525.00,236.55 525.00,236.55
             524.07,236.36 523.13,236.16 522.17,235.94
             522.17,235.94 522.75,237.02 522.75,237.02
             523.85,239.08 524.99,241.22 526.07,243.36
             526.53,244.27 526.84,245.19 527.14,246.08
             527.27,246.45 527.39,246.84 527.54,247.24
             527.54,247.24 527.07,250.32 527.02,250.41
             526.71,250.95 526.24,251.79 525.35,252.40
             525.49,252.89 525.57,253.49 525.46,254.15
             525.29,255.12 525.03,256.69 523.83,257.84
             522.70,258.95 521.13,259.07 520.51,259.07
             519.66,259.07 518.86,258.86 518.21,258.48
             518.15,258.44 518.09,258.40 518.02,258.36
             517.41,258.81 516.52,259.21 515.29,259.21
             515.20,259.21 515.09,259.20 514.99,259.20
             512.47,259.06 510.54,257.69 509.26,255.11
             508.99,255.16 508.71,255.19 508.43,255.19
             507.23,255.19 505.60,254.74 504.61,253.49
             503.58,252.19 502.58,250.69 501.53,248.88
             500.64,247.36 499.82,245.80 499.03,244.29
             499.03,244.29 498.28,242.87 498.28,242.87
             498.16,242.66 498.08,242.46 498.01,242.28
             496.44,240.26 495.49,238.00 494.64,235.84
             494.51,235.50 494.37,235.16 494.23,234.81
             493.39,232.77 492.35,230.24 492.71,227.42
             492.71,227.42 492.67,225.67 492.67,225.67
             492.63,223.68 492.58,221.63 492.58,219.59
             491.75,219.30 490.77,218.67 490.06,217.31
             488.56,214.42 487.05,211.55 485.54,208.68
             483.12,204.09 480.62,199.34 478.24,194.63
             474.48,187.22 471.33,179.67 468.86,172.20
             468.66,171.59 468.27,170.90 467.85,170.16
             467.55,169.63 467.25,169.09 466.98,168.55
             466.74,168.06 466.49,167.57 466.24,167.09
             465.46,165.56 464.65,163.99 464.08,162.23
             463.59,160.69 463.59,159.20 463.60,157.87
             463.60,157.51 463.60,157.15 463.59,156.80
             463.57,156.22 463.70,155.60 463.95,155.02
             463.04,154.18 462.16,153.25 461.50,152.17
             459.59,149.05 457.85,145.86 456.17,142.77
             455.55,141.63 454.23,139.22 454.20,139.15
             454.20,139.15 453.91,141.76 453.80,142.61
             452.65,151.14 450.93,157.54 448.25,163.26
             449.50,163.66 450.48,164.72 450.82,166.13
             451.62,169.44 452.39,172.92 453.18,176.77
             453.44,178.02 453.01,179.41 452.17,180.40
             453.48,182.87 454.25,185.51 454.88,188.06
             455.67,191.24 456.32,194.48 456.94,197.61
             456.94,197.61 457.19,198.91 457.19,198.91
             457.42,200.05 457.08,201.01 456.90,201.52
             456.90,201.52 456.84,201.69 456.84,201.69
             456.84,201.69 456.49,207.37 456.42,208.24
             458.25,208.94 459.51,210.59 459.86,212.89
             460.42,216.44 461.02,220.63 461.30,224.83
             461.68,230.64 461.81,235.34 461.72,239.63
             461.72,239.63 461.69,240.56 461.69,240.56
             461.53,247.65 461.37,254.97 460.61,262.20
             459.94,268.71 458.93,275.26 457.95,281.60
             457.55,284.19 457.15,286.78 456.77,289.37
             456.65,290.20 456.48,290.97 456.31,291.72
             456.31,291.72 456.19,292.27 456.19,292.27
             456.19,292.27 454.24,303.12 454.24,303.12
             454.24,303.12 454.24,303.44 454.24,303.44
             454.27,305.80 454.43,308.12 454.60,310.58
             454.75,312.71 454.90,314.91 454.96,317.11
             455.03,319.46 454.73,321.73 454.44,323.92
             454.44,323.92 454.37,324.44 454.37,324.44
             454.24,325.50 453.87,326.43 453.57,327.17
             453.47,327.42 453.38,327.66 453.29,327.91
             453.29,327.91 453.16,328.30 453.16,328.30
             453.31,328.60 453.45,328.90 453.60,329.19
             455.53,333.12 456.92,335.96 458.61,341.85
             458.89,342.81 459.18,343.75 459.47,344.68
             460.35,347.56 461.26,350.53 461.59,353.51
             461.86,355.97 461.79,360.73 461.62,362.73
             461.55,363.55 461.37,364.55 461.00,365.60
             461.00,365.60 461.01,367.13 461.01,367.13
             461.03,370.80 459.89,374.18 458.89,377.17
             458.72,377.65 458.56,378.13 458.41,378.60
             455.49,387.61 453.29,396.98 451.18,406.05
             450.19,410.28 450.02,413.78 450.65,417.07
             451.00,418.89 451.20,420.71 451.39,422.47
             451.45,423.01 451.51,423.55 451.57,424.09
             451.65,424.78 451.57,425.37 451.51,425.76
             451.50,425.84 451.49,425.92 451.49,425.99
             451.49,425.99 451.42,426.74 451.42,426.74
             453.25,426.60 455.81,426.42 458.02,426.42
             459.81,426.42 461.09,426.53 462.05,426.77
             466.07,427.74 469.72,430.87 471.14,434.56
             472.48,438.06 471.76,441.77 469.15,444.74
             466.64,447.61 463.42,448.48 460.59,449.25
             458.45,449.83 456.60,450.33 455.39,451.58
             454.95,452.04 454.51,452.63 454.04,453.27
             453.53,453.95 453.01,454.66 452.38,455.35
             450.03,457.91 443.94,458.85 440.43,458.85
             440.43,458.85 440.43,458.85 440.43,458.85
             440.43,458.85 440.43,458.85 440.43,458.85 Z"
        fill="#f5f5f5"
        id="path14"
        stroke="black"
        strokeWidth="1"
      />

      <path
        d="M 389.54,40.30
           C 389.99,41.24 390.42,42.20 391.03,43.03
             391.30,43.39 392.00,43.57 392.50,43.55
             392.50,43.55 394.11,43.55 394.11,43.55
             394.27,44.74 394.42,45.94 394.57,47.13
             394.84,49.23 394.98,51.35 395.23,53.45
             395.41,54.97 396.50,55.70 397.88,56.40
             397.97,55.89 398.04,55.52 398.10,55.16
             398.48,52.88 398.72,50.57 399.25,48.32
             399.97,45.30 401.03,42.32 403.65,40.38
             408.17,37.03 413.00,36.85 418.05,39.24
             420.66,40.48 422.15,42.66 423.07,45.18
             423.91,47.51 424.36,50.00 424.90,52.44
             425.17,53.70 425.25,55.00 425.44,56.48
             426.69,55.79 427.72,55.12 427.95,53.88
             428.31,51.88 428.42,49.83 428.71,47.81
             428.91,46.40 429.10,44.98 429.31,43.56
             429.31,43.56 430.82,43.57 430.82,43.57
             431.35,43.36 431.91,43.21 432.39,42.93
             432.62,42.80 432.73,42.43 432.86,42.15
             433.99,39.80 435.11,37.43 436.22,35.07
             436.35,34.79 436.41,34.49 436.47,34.30
             436.50,33.26 434.84,31.27 433.88,31.22
             433.88,31.22 431.34,30.16 431.34,30.16
             431.34,30.16 431.34,30.19 431.34,30.19
             431.62,26.61 431.52,23.03 430.73,19.42
             428.56,9.44 419.37,2.74 409.39,3.99
             405.31,4.51 401.65,6.04 398.62,8.90
             393.87,13.39 392.08,19.15 391.84,25.48
             391.78,27.17 391.85,28.85 392.01,30.52
             392.01,30.52 389.55,31.22 389.55,31.22
             388.06,31.26 386.60,33.77 387.21,35.14
             387.98,36.86 388.74,38.59 389.54,40.30"
        fill="#757575"
        id="path34"
        stroke="black"
        strokeWidth="0"
      />

      <path
        d="M 386.48,416.75
           C 384.13,415.88 379.40,417.50 378.57,419.80
             378.09,421.14 377.53,422.44 376.94,423.74
             376.94,423.74 376.92,423.73 376.92,423.73
             375.29,427.30 375.14,427.42 373.23,430.09
             371.54,429.96 364.14,429.23 361.54,429.86
             358.67,430.56 355.77,432.86 354.68,435.70
             353.85,437.86 354.05,440.32 356.08,442.64
             359.75,446.82 366.01,445.50 369.74,449.37
             370.85,450.52 371.72,452.01 372.81,453.19
             374.55,455.09 383.34,456.78 387.67,454.70
             390.42,448.85 390.02,445.04 389.33,439.21
             389.71,436.39 390.08,433.57 390.41,430.74
             390.74,427.81 391.09,424.87 390.37,421.93
             389.82,419.70 388.93,417.66 386.48,416.75"
        fill="#757575"
        id="path52"
        stroke="black"
        strokeWidth="0"
      />

      <path
        d="M 461.30,429.86
           C 458.70,429.23 451.30,429.96 449.61,430.09
             447.70,427.42 447.55,427.30 445.92,423.73
             445.92,423.73 445.90,423.74 445.90,423.74
             445.31,422.44 444.75,421.14 444.27,419.80
             443.44,417.50 438.71,415.88 436.36,416.75
             433.91,417.66 433.02,419.70 432.47,421.93
             431.75,424.87 432.10,427.81 432.43,430.74
             432.76,433.57 433.13,436.39 433.51,439.21
             432.82,445.04 432.42,448.85 435.17,454.70
             439.50,456.78 448.29,455.09 450.03,453.19
             451.12,452.01 451.98,450.52 453.10,449.37
             456.83,445.50 463.09,446.82 466.76,442.64
             468.79,440.32 468.99,437.86 468.16,435.70
             467.07,432.86 464.17,430.56 461.30,429.86"
        fill="#757575"
        id="path72"
        stroke="black"
        strokeWidth="0"
      />

      <path
        d="M 529.77,230.19
           C 526.63,228.79 523.50,227.38 521.44,224.54
             520.75,223.60 519.98,222.71 519.24,221.81
             517.12,219.22 514.71,216.93 511.48,215.59
             511.01,215.40 510.50,215.30 510.01,215.16
             510.01,215.16 505.16,214.72 505.16,214.72
             505.16,214.72 505.17,214.75 505.20,214.80
             504.43,214.75 503.63,214.85 502.85,215.14
             500.67,215.97 498.57,217.00 496.48,218.03
             496.13,218.20 495.77,218.78 495.77,219.18
             495.76,221.99 495.84,224.80 495.90,227.61
             495.50,230.06 496.73,232.42 497.62,234.68
             498.51,236.98 499.40,239.01 500.84,240.70
             500.93,240.98 500.99,241.19 501.09,241.37
             502.14,243.35 503.16,245.35 504.28,247.28
             505.14,248.75 506.06,250.19 507.11,251.52
             507.41,251.90 508.34,252.11 508.83,251.94
             509.61,251.68 509.27,250.91 509.01,250.35
             508.14,248.50 507.14,246.70 506.37,244.81
             506.25,244.50 506.09,244.21 505.93,243.94
             506.29,243.72 506.68,243.36 507.10,242.77
             507.55,243.74 508.03,244.70 508.47,245.68
             509.64,248.24 510.81,250.80 511.96,253.37
             512.59,254.78 513.43,255.92 515.16,256.02
             516.13,256.07 516.63,255.59 516.61,254.47
             516.54,254.27 516.43,253.90 516.27,253.55
             514.90,250.53 513.57,247.49 512.13,244.50
             511.52,243.23 510.83,242.00 510.12,240.78
             510.35,240.51 510.62,240.23 510.91,239.95
             511.52,241.10 512.12,242.25 512.70,243.42
             514.42,246.87 516.06,250.36 517.86,253.77
             518.27,254.57 519.06,255.27 519.84,255.74
             520.27,255.99 521.27,255.89 521.62,255.55
             522.07,255.11 522.20,254.29 522.32,253.62
             522.37,253.29 522.12,252.88 521.94,252.54
             519.32,247.38 516.71,242.22 514.06,237.08
             514.29,236.85 514.49,236.61 514.66,236.38
             517.06,240.60 519.47,244.81 521.91,249.00
             522.18,249.45 523.08,249.98 523.41,249.84
             523.92,249.63 524.19,248.86 524.55,248.34
             524.06,247.01 523.75,245.85 523.22,244.79
             521.78,241.93 520.25,239.12 518.75,236.29
             517.96,234.80 517.17,233.31 516.37,231.83
             516.34,231.72 516.30,231.60 516.25,231.47
             516.72,230.53 517.73,230.23 517.73,230.23
             518.19,230.97 519.03,231.73 519.86,232.00
             521.91,232.67 524.05,233.10 526.17,233.54
             527.85,233.90 529.25,233.38 530.26,232.04
             531.00,231.06 530.90,230.69 529.77,230.19"
        fill="#757575"
        id="path76"
        stroke="black"
        strokeWidth="0"
      />

      <path
        d="M 325.88,218.03
           C 323.79,217.00 321.69,215.97 319.51,215.14
             318.73,214.85 317.94,214.75 317.16,214.80
             317.19,214.75 317.20,214.72 317.20,214.72
             317.20,214.72 312.35,215.16 312.35,215.16
             311.86,215.30 311.35,215.40 310.88,215.59
             307.65,216.93 305.24,219.22 303.12,221.81
             302.38,222.71 301.61,223.60 300.92,224.54
             298.86,227.38 295.73,228.79 292.59,230.19
             291.46,230.69 291.36,231.06 292.10,232.04
             293.11,233.38 294.52,233.90 296.19,233.54
             298.31,233.10 300.45,232.67 302.50,232.00
             303.33,231.73 304.17,230.97 304.63,230.23
             304.63,230.23 305.64,230.53 306.11,231.47
             306.06,231.60 306.02,231.72 306.00,231.83
             305.19,233.31 304.40,234.80 303.61,236.29
             302.11,239.12 300.58,241.93 299.14,244.79
             298.61,245.85 298.30,247.01 297.81,248.34
             298.17,248.86 298.44,249.63 298.95,249.84
             299.28,249.98 300.18,249.45 300.45,249.00
             302.90,244.81 305.30,240.60 307.70,236.38
             307.87,236.61 308.08,236.85 308.30,237.08
             305.65,242.22 303.04,247.38 300.42,252.54
             300.25,252.88 299.99,253.29 300.04,253.62
             300.16,254.29 300.29,255.11 300.74,255.55
             301.09,255.89 302.09,255.99 302.52,255.74
             303.30,255.27 304.09,254.57 304.51,253.77
             306.30,250.36 307.94,246.87 309.66,243.42
             310.24,242.25 310.84,241.10 311.45,239.95
             311.74,240.23 312.01,240.51 312.24,240.78
             311.53,242.00 310.84,243.23 310.23,244.50
             308.79,247.49 307.46,250.53 306.09,253.55
             305.93,253.90 305.82,254.27 305.75,254.47
             305.73,255.59 306.23,256.07 307.20,256.02
             308.93,255.92 309.77,254.78 310.40,253.37
             311.55,250.80 312.72,248.24 313.89,245.68
             314.33,244.70 314.81,243.74 315.26,242.77
             315.68,243.36 316.07,243.72 316.43,243.94
             316.27,244.21 316.11,244.50 315.99,244.81
             315.23,246.70 314.22,248.50 313.35,250.35
             313.09,250.91 312.75,251.68 313.53,251.94
             314.02,252.11 314.95,251.90 315.25,251.52
             316.30,250.19 317.23,248.75 318.08,247.28
             319.20,245.35 320.22,243.35 321.27,241.37
             321.37,241.19 321.43,240.98 321.52,240.70
             322.96,239.01 323.85,236.98 324.75,234.68
             325.63,232.42 326.86,230.06 326.46,227.61
             326.52,224.80 326.60,221.99 326.60,219.18
             326.59,218.78 326.23,218.20 325.88,218.03"
        fill="#757575"
        id="path90"
        stroke="black"
        strokeWidth="0"
      />

      <path
        d="M 163.05,461.45
           C 158.90,461.45 155.08,459.99 151.36,456.99
             151.06,456.75 150.77,456.51 150.48,456.27
             149.03,455.08 147.89,454.14 146.36,453.53
             145.99,453.39 145.59,453.25 145.18,453.11
             142.74,452.27 139.05,450.99 138.04,446.97
             138.04,446.97 136.56,441.10 136.56,441.10
             136.56,441.10 136.56,441.04 136.56,441.04
             136.43,440.61 136.30,440.09 136.25,439.49
             136.05,437.10 135.88,434.69 135.71,432.29
             135.71,432.29 135.58,430.46 135.58,430.46
             135.55,430.00 135.55,429.54 135.57,429.10
             135.57,429.10 135.05,425.79 135.05,425.79
             135.02,425.61 134.99,425.46 134.96,425.33
             134.85,424.84 134.70,424.16 134.84,423.34
             135.01,422.35 135.15,421.36 135.29,420.37
             135.66,417.75 136.04,415.04 136.87,412.38
             137.93,408.99 138.14,403.76 137.37,399.93
             136.36,394.90 135.10,391.41 133.76,387.71
             132.45,384.07 131.09,380.30 129.97,375.00
             128.82,369.56 128.75,362.93 129.78,358.12
             130.39,355.25 130.84,352.69 131.31,349.99
             131.55,348.61 131.79,347.20 132.07,345.71
             132.08,345.44 132.09,344.90 132.11,344.22
             132.30,338.18 132.39,337.65 132.65,336.99
             132.65,336.99 132.50,337.00 132.50,337.00
             132.50,337.00 131.56,334.88 131.56,334.88
             127.35,325.02 124.94,314.33 124.41,303.10
             124.05,295.50 124.41,288.12 125.49,281.04
             125.49,281.04 125.38,280.94 125.38,280.94
             124.57,280.23 124.08,279.32 123.90,278.25
             123.70,277.05 123.23,275.13 122.77,273.28
             122.20,270.98 121.62,268.61 121.37,266.92
             119.41,257.83 119.13,255.58 118.30,248.97
             118.30,248.97 118.04,246.88 118.04,246.88
             118.04,246.88 117.91,245.80 117.91,245.80
             117.05,238.57 116.84,236.85 116.84,232.26
             116.84,232.26 116.84,231.75 116.84,231.75
             116.84,229.80 117.00,227.86 117.57,225.52
             117.57,225.52 113.70,225.61 112.64,225.59
             113.12,227.17 113.12,229.16 113.12,231.75
             113.12,231.75 113.12,232.26 113.12,232.26
             113.12,236.86 112.92,238.58 112.05,245.83
             112.05,245.83 111.93,246.85 111.93,246.85
             111.93,246.85 111.66,248.97 111.66,248.97
             110.83,255.58 110.55,257.83 108.59,266.92
             108.35,268.61 107.76,270.98 107.19,273.28
             106.74,275.13 106.26,277.04 106.07,278.25
             105.89,279.32 105.39,280.23 104.59,280.94
             104.59,280.94 104.47,281.04 104.47,281.04
             105.55,288.12 105.92,295.50 105.56,303.10
             105.02,314.33 102.62,325.02 98.41,334.88
             98.41,334.88 97.49,337.01 97.49,337.01
             97.49,337.01 97.32,336.99 97.32,336.99
             97.58,337.65 97.66,338.19 97.85,344.23
             97.87,344.90 97.89,345.44 97.90,345.71
             98.17,347.20 98.42,348.60 98.66,349.98
             99.13,352.69 99.57,355.24 100.19,358.12
             101.22,362.93 101.14,369.56 99.99,375.00
             98.88,380.30 97.52,384.07 96.20,387.72
             94.87,391.41 93.61,394.90 92.59,399.93
             91.82,403.76 92.03,408.99 93.09,412.38
             93.92,415.04 94.31,417.75 94.68,420.37
             94.82,421.36 94.96,422.35 95.12,423.34
             95.26,424.16 95.11,424.84 95.01,425.33
             94.98,425.46 94.94,425.61 94.92,425.79
             94.92,425.79 94.39,429.10 94.39,429.10
             94.42,429.54 94.41,430.00 94.38,430.46
             94.38,430.46 94.25,432.26 94.25,432.26
             94.09,434.67 93.92,437.09 93.72,439.49
             93.67,440.09 93.53,440.62 93.41,441.04
             93.41,441.04 93.40,441.10 93.40,441.10
             93.40,441.10 91.93,446.97 91.93,446.97
             90.92,450.99 87.23,452.27 84.78,453.11
             84.37,453.25 83.98,453.39 83.60,453.53
             82.07,454.14 80.93,455.08 79.49,456.26
             79.20,456.50 78.90,456.75 78.60,456.99
             74.89,459.99 71.06,461.45 66.91,461.45
             66.91,461.45 66.91,461.45 66.91,461.45
             62.30,461.45 57.87,459.65 53.36,457.65
             51.97,457.03 51.03,455.92 50.70,454.54
             50.07,451.95 51.81,449.36 53.18,447.64
             55.51,444.70 59.13,441.56 60.10,440.96
             64.38,438.31 67.08,435.83 70.42,431.46
             70.42,431.46 70.53,431.31 70.53,431.31
             70.53,431.31 73.05,428.71 73.05,428.71
             73.05,428.71 74.82,418.14 74.82,418.14
             74.89,416.51 75.10,414.93 75.30,413.39
             75.30,413.39 75.44,412.31 75.44,412.31
             75.54,411.50 75.96,410.61 76.65,409.95
             75.30,407.35 74.14,404.74 73.50,402.85
             70.62,394.24 69.85,389.19 68.69,381.56
             68.47,380.09 68.23,378.51 67.96,376.80
             66.68,368.76 67.11,358.60 67.94,351.77
             68.90,343.90 71.05,336.53 74.36,329.77
             74.36,329.77 74.34,325.66 74.34,325.66
             74.33,324.38 74.33,323.13 74.33,321.89
             74.33,319.17 74.32,316.61 74.26,314.03
             74.19,311.01 74.09,307.96 73.97,304.93
             73.97,304.93 65.22,275.79 65.22,275.79
             64.91,273.62 64.60,271.72 64.32,269.97
             63.56,265.16 62.95,261.37 62.66,256.01
             62.43,251.78 63.10,246.73 63.75,241.85
             64.10,239.27 64.42,236.83 64.62,234.52
             65.47,224.55 68.64,213.50 71.44,203.75
             71.44,203.75 71.97,201.87 71.97,201.87
             72.52,199.97 73.52,197.54 74.00,195.83
             74.27,194.89 76.33,189.87 76.33,189.87
             75.47,186.51 75.36,182.81 75.97,178.48
             76.31,176.06 76.82,173.67 77.31,171.37
             77.46,170.65 77.61,169.93 77.76,169.21
             77.90,168.51 78.14,167.94 78.34,167.48
             78.40,167.35 78.45,167.22 78.50,167.08
             78.50,167.08 78.62,166.77 78.62,166.77
             78.62,166.77 77.68,165.62 77.68,165.62
             76.05,163.64 75.24,161.28 75.19,158.41
             75.19,158.41 75.19,158.28 75.19,158.28
             75.19,158.28 74.49,150.88 74.49,150.88
             74.49,150.88 74.49,150.84 74.49,150.84
             74.40,149.94 74.29,148.97 74.18,147.99
             73.93,145.80 73.68,143.53 73.58,141.65
             73.53,140.56 73.48,139.47 73.46,138.37
             72.65,140.70 71.62,142.92 70.00,146.33
             69.53,147.32 68.58,148.85 67.48,150.61
             67.24,151.00 67.02,151.35 66.86,151.61
             66.63,151.99 66.35,152.39 66.01,152.77
             66.22,153.20 66.33,153.58 66.39,153.78
             67.35,157.36 66.89,161.09 65.06,164.57
             63.93,166.71 63.47,168.82 62.94,171.26
             62.55,173.00 62.16,174.80 61.49,176.74
             59.21,183.31 56.18,190.91 53.24,198.14
             51.63,202.11 49.70,205.84 47.84,209.46
             46.07,212.88 44.25,216.42 42.76,220.05
             42.58,220.47 42.40,220.89 42.22,221.31
             42.22,221.31 40.97,224.18 40.97,224.18
             40.97,224.18 40.86,224.15 40.86,224.15
             42.64,229.65 41.85,233.96 38.26,238.47
             38.26,238.47 33.71,244.53 33.71,244.53
             32.23,247.47 30.43,250.80 27.94,253.73
             27.61,254.13 26.81,255.07 25.42,255.23
             25.03,255.28 24.64,255.32 24.26,255.32
             23.95,255.32 23.66,255.29 23.38,255.25
             23.17,255.69 22.95,256.14 22.72,256.58
             21.69,258.60 19.72,259.76 17.33,259.76
             17.33,259.76 17.32,259.76 17.32,259.76
             16.19,259.76 15.18,259.44 14.41,258.84
             14.41,258.84 13.65,259.44 13.65,259.44
             13.65,259.44 12.50,259.44 12.50,259.44
             10.61,259.44 8.93,258.55 8.00,257.06
             7.20,255.78 7.04,254.21 7.52,252.75
             6.04,251.73 5.18,250.30 5.08,248.72
             4.93,246.18 6.25,244.26 7.21,242.86
             7.51,242.44 7.78,242.04 7.97,241.70
             9.20,239.43 10.49,237.15 11.75,234.94
             11.18,235.07 7.80,235.81 7.80,235.81
             7.80,235.81 7.22,235.72 7.22,235.72
             4.47,235.29 2.54,233.97 1.46,231.82
             0.76,230.40 1.22,228.88 1.38,228.45
             1.83,227.21 2.66,226.64 3.27,226.38
             3.27,226.38 4.35,225.91 4.35,225.91
             5.50,225.41 6.65,224.91 7.81,224.43
             7.81,224.43 9.93,221.82 9.93,221.82
             9.93,221.82 11.93,219.82 11.93,219.82
             13.89,217.86 15.92,215.82 17.99,213.87
             18.93,212.99 20.04,212.28 21.27,211.75
             21.27,211.75 22.88,207.80 23.04,207.47
             27.66,197.87 30.28,188.42 31.05,178.57
             31.91,167.54 35.39,157.88 41.40,149.86
             41.68,149.49 42.30,148.65 43.26,148.05
             41.37,144.72 40.66,140.47 40.83,137.53
             41.15,132.05 41.68,129.20 44.04,124.12
             45.49,120.99 47.11,118.63 48.82,116.80
             48.77,116.56 48.73,116.27 48.74,115.95
             48.79,114.60 48.81,113.21 48.82,111.82
             48.87,106.25 48.93,100.49 50.97,95.17
             52.48,91.27 56.98,86.16 60.29,83.67
             65.57,79.70 69.80,78.82 76.13,77.85
             76.39,77.81 76.63,77.78 76.88,77.76
             76.88,77.76 82.81,75.15 82.81,75.15
             82.81,75.15 83.88,74.70 83.88,74.70
             84.50,74.44 85.04,74.22 85.58,73.97
             88.89,72.43 92.20,70.88 95.50,69.32
             95.76,69.20 96.08,69.06 96.46,68.95
             96.54,67.29 96.68,65.65 96.83,64.06
             96.83,64.06 96.99,62.21 96.99,62.21
             96.99,62.21 97.76,59.95 97.76,59.95
             96.26,58.80 95.37,57.09 95.20,55.04
             95.03,52.88 94.83,50.71 94.62,48.60
             93.71,48.45 92.89,48.06 92.28,47.48
             91.45,46.69 90.97,45.75 90.58,44.93
             89.33,42.29 88.40,40.25 87.54,38.31
             86.91,36.89 87.08,35.13 88.00,33.49
             88.87,31.95 90.18,30.85 91.59,30.43
             91.59,30.43 91.93,30.25 91.93,30.25
             91.92,29.34 91.94,28.38 91.99,27.36
             92.19,23.40 93.00,19.71 94.40,16.40
             96.73,10.90 102.83,5.59 108.57,4.06
             110.57,3.53 112.62,3.26 114.66,3.26
             123.91,3.26 131.92,8.60 135.56,17.21
             136.65,19.78 137.12,22.66 137.38,24.60
             137.44,25.07 137.44,25.72 137.43,27.45
             137.42,28.14 137.42,29.20 137.43,30.02
             137.43,30.02 138.61,30.81 138.61,30.81
             142.41,33.34 143.15,36.08 141.18,40.27
             141.09,40.47 140.97,40.80 140.82,41.19
             139.77,43.96 138.22,48.04 134.99,48.60
             134.81,50.41 134.64,52.26 134.55,54.06
             134.41,56.54 133.44,58.60 131.77,60.01
             131.77,60.01 132.49,61.18 132.49,61.18
             132.49,61.18 132.56,61.88 132.56,61.88
             132.63,62.49 132.68,63.08 132.74,63.65
             132.84,64.79 132.95,65.86 133.10,66.87
             133.23,67.68 133.26,68.44 133.20,69.17
             133.33,69.22 133.44,69.27 133.54,69.32
             136.84,70.88 140.15,72.43 143.46,73.97
             143.99,74.21 144.54,74.44 145.15,74.70
             145.15,74.70 146.20,75.14 146.20,75.14
             146.20,75.14 152.10,77.73 152.10,77.73
             152.51,77.74 152.95,77.78 153.40,77.85
             159.74,78.82 163.96,79.70 169.24,83.67
             172.55,86.16 177.06,91.27 178.56,95.17
             180.61,100.49 180.66,106.25 180.72,111.81
             180.73,113.21 180.74,114.60 180.79,115.95
             180.80,116.27 180.77,116.56 180.72,116.80
             182.43,118.63 184.04,120.99 185.50,124.12
             187.85,129.20 188.39,132.05 188.70,137.53
             188.87,140.47 188.16,144.72 186.28,148.05
             187.23,148.65 187.86,149.49 188.14,149.86
             194.14,157.88 197.62,167.54 198.48,178.57
             199.25,188.42 201.87,197.87 206.49,207.47
             206.65,207.80 206.87,208.17 207.11,208.56
             207.24,208.78 207.37,209.00 207.50,209.22
             207.50,209.22 208.71,211.33 208.71,211.33
             208.71,211.33 208.26,211.76 208.26,211.76
             209.47,212.29 210.57,212.99 211.50,213.87
             213.58,215.82 215.61,217.86 217.57,219.83
             217.57,219.83 219.57,221.82 219.57,221.82
             219.57,221.82 221.68,224.43 221.68,224.43
             222.85,224.92 224.01,225.42 225.17,225.92
             225.17,225.92 226.24,226.38 226.24,226.38
             226.84,226.64 227.67,227.21 228.12,228.45
             228.28,228.88 228.74,230.40 228.04,231.82
             226.96,233.97 225.03,235.29 222.28,235.72
             222.28,235.72 221.70,235.81 221.70,235.81
             221.70,235.81 218.32,235.07 217.75,234.94
             219.01,237.15 220.30,239.43 221.53,241.70
             221.72,242.04 221.99,242.44 222.28,242.86
             223.25,244.26 224.57,246.18 224.42,248.72
             224.32,250.30 223.46,251.72 221.98,252.75
             222.46,254.21 222.30,255.78 221.50,257.06
             220.55,258.57 218.91,259.44 217.00,259.44
             217.00,259.44 215.82,259.41 215.82,259.41
             215.82,259.41 215.09,258.84 215.09,258.84
             214.31,259.44 213.31,259.76 212.18,259.76
             212.18,259.76 212.16,259.76 212.16,259.76
             209.78,259.76 207.81,258.60 206.77,256.58
             206.55,256.14 206.33,255.69 206.12,255.25
             205.84,255.29 205.54,255.32 205.23,255.32
             204.86,255.32 204.47,255.28 204.10,255.23
             202.68,255.07 201.89,254.13 201.59,253.77
             199.07,250.81 197.27,247.47 195.79,244.53
             195.79,244.53 191.19,238.40 191.19,238.40
             187.65,233.96 186.86,229.65 188.64,224.16
             188.64,224.16 188.57,224.18 188.57,224.18
             188.57,224.18 187.32,221.31 187.32,221.31
             187.13,220.89 186.95,220.47 186.77,220.05
             185.29,216.42 183.46,212.88 181.69,209.46
             179.83,205.84 177.90,202.11 176.29,198.14
             173.35,190.91 170.32,183.31 168.05,176.74
             167.38,174.80 166.98,173.00 166.60,171.26
             166.06,168.82 165.60,166.71 164.47,164.57
             162.64,161.10 162.18,157.36 163.15,153.78
             163.20,153.57 163.32,153.20 163.52,152.77
             163.19,152.39 162.90,151.99 162.67,151.61
             162.51,151.35 162.29,150.99 162.05,150.60
             160.95,148.85 160.01,147.31 159.53,146.33
             158.01,143.13 157.01,140.98 156.23,138.80
             156.17,142.13 155.94,145.36 155.56,148.55
             155.48,149.22 155.36,149.87 155.25,150.53
             155.25,150.53 155.13,151.24 155.13,151.24
             155.13,151.24 154.38,159.12 154.38,159.12
             154.19,161.70 153.37,163.83 151.81,165.77
             151.81,165.77 150.92,166.88 150.92,166.88
             150.96,166.95 151.00,167.03 151.03,167.10
             151.26,167.54 151.49,168.00 151.65,168.59
             153.51,175.28 154.22,180.87 153.90,186.19
             153.83,187.46 153.61,188.68 153.30,189.86
             153.30,189.86 155.22,194.51 156.10,196.53
             156.92,198.44 157.45,199.98 157.99,201.87
             157.99,201.87 158.52,203.74 158.52,203.74
             161.32,213.49 164.49,224.55 165.35,234.52
             165.54,236.83 165.87,239.27 166.21,241.85
             166.86,246.73 167.53,251.78 167.30,256.01
             167.01,261.37 166.41,265.16 165.64,269.96
             165.36,271.72 164.56,274.38 164.24,276.55
             164.24,276.55 155.99,304.93 155.99,304.93
             155.87,307.96 155.77,311.01 155.70,314.03
             155.64,316.62 155.64,319.19 155.64,321.91
             155.64,323.14 155.63,324.39 155.63,325.66
             155.63,325.66 155.61,329.77 155.61,329.77
             158.92,336.53 161.07,343.89 162.02,351.77
             162.85,358.60 163.28,368.77 162.01,376.80
             161.73,378.51 161.49,380.09 161.27,381.56
             160.11,389.20 159.34,394.24 156.46,402.85
             155.83,404.74 154.67,407.35 153.31,409.95
             154.00,410.61 154.42,411.50 154.52,412.30
             154.52,412.30 154.66,413.39 154.66,413.39
             154.86,414.92 155.07,416.51 155.14,418.14
             155.14,418.14 156.91,428.71 156.91,428.71
             156.91,428.71 159.44,431.31 159.44,431.31
             159.44,431.31 159.55,431.46 159.55,431.46
             162.88,435.83 165.58,438.31 169.86,440.96
             170.83,441.56 174.46,444.71 176.79,447.64
             178.15,449.36 179.90,451.95 179.27,454.54
             178.93,455.92 177.99,457.03 176.62,457.64
             172.09,459.65 167.66,461.45 163.05,461.45
             163.05,461.45 163.05,461.45 163.05,461.45 Z"
        fill="#f5f5f5"
        id="path104"
        stroke="black"
        strokeWidth="1"
      />

      <BicepsGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <ForearmsGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <ChestGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <TricepsGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <AbdominalsGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <ObliquesGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <QuadricepsGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <ShouldersGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <CalvesGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <TrapsGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <BackGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <HamstringsGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <GlutesGroup getMuscleClasses={getMuscleClasses} onToggleMuscle={onToggleMuscle} />
      <path
        d="M 104.03,61.80
           C 103.06,61.49 102.16,60.94 100.91,60.35
             100.91,60.35 100.05,62.86 100.05,62.86
             99.87,65.02 99.64,67.18 99.55,69.35
             99.53,69.99 99.77,70.71 100.08,71.29
             101.93,74.70 104.16,77.84 106.87,80.60
             108.32,82.07 110.05,83.30 111.76,84.48
             112.76,85.17 113.26,84.85 113.30,83.65
             113.35,82.13 113.38,80.59 113.19,79.09
             112.70,75.08 111.25,71.36 109.79,67.61
             108.67,64.75 106.98,62.76 104.03,61.80"
        fill="#757575"
        id="path132"
        stroke="black"
        strokeWidth="0"
      />
      <path
        d="M 116.30,83.66
           C 116.30,84.79 116.73,85.05 117.64,84.53
             118.89,83.82 120.25,83.13 121.20,82.09
             123.48,79.60 125.62,76.96 127.68,74.28
             129.24,72.28 130.46,70.10 130.03,67.35
             129.78,65.73 129.67,64.08 129.47,62.21
             129.47,62.21 128.49,60.62 128.49,60.62
             126.72,61.24 125.11,61.94 123.59,62.79
             122.75,63.25 121.75,63.79 121.34,64.56
             119.17,68.65 117.42,72.93 116.64,77.52
             116.30,79.53 116.30,81.61 116.30,83.66"
        fill="#757575"
        id="path134"
        stroke="black"
        strokeWidth="0"
      />
      <path
        d="M 109.84,65.48
           C 111.79,70.01 113.40,74.63 113.80,79.59
             113.83,79.97 113.93,80.36 114.10,80.69
             114.24,80.96 114.53,81.15 114.76,81.38
             114.99,81.15 115.31,80.95 115.42,80.67
             115.61,80.18 115.72,79.65 115.77,79.12
             116.19,74.83 117.46,70.78 119.13,66.84
             119.45,66.09 119.73,65.33 120.03,64.57
             120.03,64.57 109.53,64.57 109.53,64.57
             109.63,64.87 109.71,65.19 109.84,65.48"
        fill="#757575"
        id="path136"
        stroke="black"
        strokeWidth="0"
      />

      <path
        d="M 93.39,43.60
           C 93.66,44.18 93.97,44.80 94.42,45.23
             94.72,45.51 95.32,45.61 95.75,45.54
             95.75,45.54 97.45,45.59 97.45,45.59
             97.75,48.65 98.05,51.72 98.30,54.79
             98.41,56.17 99.03,57.22 100.21,57.84
             104.24,59.99 108.93,63.14 113.77,63.15
             119.09,63.16 124.33,60.64 128.91,58.21
             130.57,57.33 131.34,55.82 131.45,53.89
             131.59,51.15 131.89,48.42 132.16,45.69
             132.16,45.69 133.86,45.49 133.86,45.49
             136.04,46.22 137.73,40.31 138.37,38.95
             139.67,36.19 139.40,35.07 136.88,33.39
             136.88,33.39 134.49,31.79 134.49,31.79
             134.17,31.57 134.41,25.80 134.30,25.01
             134.01,22.83 133.56,20.45 132.70,18.42
             128.77,9.14 118.99,4.50 109.37,7.06
             104.57,8.34 99.23,12.97 97.26,17.62
             95.92,20.77 95.26,24.12 95.10,27.51
             95.02,29.05 95.01,30.57 95.11,32.06
             95.11,32.06 92.71,33.36 92.71,33.36
             91.34,33.53 89.84,35.83 90.38,37.06
             91.35,39.25 92.36,41.43 93.39,43.60"
        fill="#757575"
        id="path162"
        stroke="black"
        strokeWidth="0"
      />
      <path
        d="M 79.71,412.49
           C 79.61,412.26 79.22,411.99 79.04,412.03
             78.82,412.09 78.56,412.44 78.53,412.69
             78.28,414.61 77.99,416.53 77.92,418.46
             77.92,418.46 75.96,430.18 75.96,430.18
             75.96,430.18 72.89,433.34 72.89,433.34
             69.49,437.79 66.53,440.64 61.74,443.60
             61.22,443.92 57.83,446.78 55.61,449.57
             53.84,451.81 52.82,454.00 54.62,454.81
             62.63,458.36 69.13,460.64 76.65,454.58
             78.57,453.03 80.11,451.57 82.47,450.64
             84.83,449.71 88.19,449.10 88.91,446.21
             89.00,445.88 90.33,440.59 90.33,440.59
             90.33,440.59 90.34,440.44 90.34,440.44
             90.47,440.04 90.59,439.64 90.62,439.24
             90.87,436.24 91.07,433.24 91.28,430.24
             91.44,427.99 90.67,426.17 89.11,424.48
             85.68,420.73 81.85,417.26 79.71,412.49"
        fill="#757575"
        id="path164"
        stroke="black"
        strokeWidth="0"
      />

      <path
        d="M 168.23,443.60
           C 163.44,440.64 160.47,437.79 157.08,433.34
             157.08,433.34 154.01,430.18 154.01,430.18
             154.01,430.18 152.04,418.46 152.04,418.46
             151.98,416.53 151.68,414.61 151.44,412.69
             151.41,412.44 151.14,412.09 150.93,412.03
             150.74,411.99 150.35,412.26 150.25,412.49
             148.11,417.26 144.29,420.73 140.85,424.48
             139.30,426.17 138.53,427.99 138.68,430.24
             138.89,433.24 139.09,436.24 139.34,439.24
             139.38,439.64 139.50,440.04 139.63,440.44
             139.63,440.44 139.64,440.59 139.64,440.59
             139.64,440.59 140.97,445.88 141.05,446.21
             141.78,449.10 145.13,449.71 147.50,450.64
             149.85,451.57 151.40,453.03 153.31,454.58
             160.83,460.64 167.33,458.36 175.35,454.81
             177.15,454.00 176.13,451.81 174.35,449.57
             172.14,446.78 168.74,443.92 168.23,443.60"
        fill="#757575"
        id="path190"
        stroke="black"
        strokeWidth="0"
      />

      <path
        d="M 36.97,219.69
           C 37.21,215.21 37.71,210.75 38.11,206.27
             38.17,205.62 38.23,204.98 38.29,204.33
             38.29,204.33 39.72,196.96 39.72,196.96
             39.72,196.96 39.72,196.96 39.72,196.96
             39.84,196.42 39.95,195.88 40.05,195.34
             40.13,194.89 40.06,194.41 40.06,193.70
             35.84,199.72 31.79,205.49 27.74,211.25
             27.74,211.25 24.95,213.94 24.95,213.94
             23.14,214.20 21.45,214.89 20.12,216.14
             17.43,218.66 14.85,221.30 12.24,223.91
             12.24,223.91 9.73,227.00 9.73,227.00
             9.73,227.00 9.74,227.00 9.74,227.00
             7.98,227.71 6.24,228.48 4.49,229.23
             4.26,229.33 4.09,230.13 4.25,230.44
             4.93,231.80 6.17,232.41 7.70,232.65
             10.10,232.12 12.54,231.59 14.98,231.02
             14.98,231.02 17.11,231.85 17.11,231.85
             17.05,231.95 16.98,232.04 16.91,232.16
             16.81,232.32 16.72,232.49 16.62,232.65
             14.64,236.16 12.62,239.64 10.69,243.18
             9.78,244.87 8.06,246.48 8.18,248.53
             8.23,249.32 8.84,249.89 9.32,250.22
             9.54,250.36 10.30,249.82 10.72,249.47
             11.10,249.17 11.38,248.73 11.64,248.31
             13.51,245.22 15.38,242.13 17.23,239.03
             18.08,237.60 18.91,236.15 19.70,234.69
             19.70,234.69 20.33,235.44 20.33,235.44
             18.33,238.89 16.31,242.34 14.40,245.84
             13.05,248.31 11.84,250.85 10.60,253.38
             9.91,254.81 10.72,256.37 12.58,256.33
             12.96,256.03 13.84,255.61 14.31,254.92
             15.18,253.64 15.81,252.19 16.55,250.82
             18.58,247.03 20.60,243.23 22.65,239.44
             22.65,239.44 23.34,240.65 23.34,240.65
             21.85,243.33 20.36,246.02 18.96,248.74
             17.95,250.70 17.05,252.72 16.17,254.74
             15.64,255.95 16.11,256.66 17.32,256.66
             18.49,256.66 19.42,256.21 19.96,255.16
             20.65,253.81 21.26,252.41 21.93,251.05
             23.17,248.56 24.41,246.06 25.69,243.60
             25.69,243.60 26.67,244.66 26.67,244.66
             26.53,244.89 26.40,245.13 26.29,245.39
             25.47,247.26 24.42,249.03 23.54,250.88
             23.38,251.23 23.42,252.03 23.59,252.10
             24.02,252.28 24.57,252.20 25.07,252.15
             25.25,252.12 25.43,251.88 25.58,251.71
             27.87,249.02 29.52,245.94 31.09,242.82
             31.09,242.82 31.12,242.80 31.12,242.80
             31.12,242.80 35.83,236.53 35.83,236.53
             38.95,232.60 39.35,229.23 37.74,224.61
             37.19,223.07 36.88,221.32 36.97,219.69"
        fill="#757575"
        id="path202"
        stroke="black"
        strokeWidth="0"
      />
      <path
        d="M 225.01,229.23
           C 223.26,228.48 221.52,227.71 219.76,227.00
             219.76,227.00 219.76,227.00 219.76,227.00
             219.76,227.00 217.26,223.91 217.26,223.91
             214.64,221.30 212.06,218.66 209.38,216.14
             208.05,214.89 206.36,214.20 204.55,213.94
             204.55,213.94 201.75,211.25 201.75,211.25
             197.71,205.49 193.66,199.72 189.44,193.70
             189.44,194.41 189.37,194.89 189.45,195.34
             189.55,195.88 189.66,196.42 189.78,196.96
             189.78,196.96 189.78,196.96 189.78,196.96
             189.78,196.96 191.21,204.33 191.21,204.33
             191.27,204.98 191.33,205.62 191.39,206.27
             191.79,210.75 192.29,215.21 192.53,219.69
             192.62,221.32 192.30,223.07 191.76,224.61
             190.14,229.23 190.54,232.60 193.67,236.53
             193.67,236.53 198.38,242.80 198.38,242.80
             198.38,242.80 198.41,242.82 198.41,242.82
             199.98,245.94 201.63,249.02 203.92,251.71
             204.07,251.88 204.25,252.12 204.43,252.15
             204.93,252.20 205.48,252.28 205.91,252.10
             206.08,252.03 206.12,251.23 205.96,250.88
             205.08,249.03 204.03,247.26 203.21,245.39
             203.10,245.13 202.97,244.89 202.83,244.66
             202.83,244.66 203.81,243.60 203.81,243.60
             205.09,246.06 206.33,248.56 207.56,251.05
             208.24,252.41 208.84,253.81 209.54,255.16
             210.07,256.21 211.01,256.66 212.17,256.66
             213.38,256.66 213.86,255.95 213.33,254.74
             212.45,252.72 211.54,250.70 210.54,248.74
             209.14,246.02 207.65,243.33 206.16,240.65
             206.16,240.65 206.85,239.44 206.85,239.44
             208.89,243.23 210.92,247.03 212.95,250.82
             213.68,252.19 214.32,253.64 215.19,254.92
             215.66,255.61 216.53,256.03 216.92,256.33
             218.78,256.37 219.59,254.81 218.90,253.38
             217.66,250.85 216.45,248.31 215.10,245.84
             213.18,242.34 211.17,238.89 209.17,235.44
             209.17,235.44 209.80,234.69 209.80,234.69
             210.59,236.15 211.42,237.60 212.27,239.03
             214.12,242.13 215.99,245.22 217.86,248.31
             218.12,248.73 218.40,249.17 218.77,249.47
             219.20,249.82 219.96,250.36 220.17,250.22
             220.66,249.89 221.27,249.32 221.32,248.53
             221.44,246.48 219.72,244.87 218.80,243.18
             216.88,239.64 214.86,236.16 212.87,232.65
             212.78,232.49 212.69,232.32 212.59,232.16
             212.51,232.04 212.45,231.95 212.39,231.85
             212.39,231.85 214.52,231.02 214.52,231.02
             216.95,231.59 219.40,232.12 221.80,232.65
             223.33,232.41 224.57,231.80 225.25,230.44
             225.40,230.13 225.23,229.33 225.01,229.23"
        fill="#757575"
        stroke="black"
        strokeWidth="0"
      />
    </svg>
  );
};

export function MuscleSelection({ onToggleMuscle, selectedMuscles }: MuscleSelectionProps) {
  const t = useI18n();

  return (
    <div className="space-y-6">
      <div className="text-center mb-6">
        <p className="text-slate-600 dark:text-slate-300 text-sm italic">{t("workout_builder.selection.muscle_selection_description")}</p>
      </div>

      <div className="flex justify-center">
        <MuscleIllustration onToggleMuscle={onToggleMuscle} selectedMuscles={selectedMuscles} />
      </div>

      {env.NEXT_PUBLIC_MUSCLE_SELECTION_BANNER_AD_SLOT && (
        <HorizontalBottomBanner adSlot={env.NEXT_PUBLIC_MUSCLE_SELECTION_BANNER_AD_SLOT} />
      )}
    </div>
  );
}
